home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / Xm / XmLabel.z / XmLabel
Text File  |  1998-10-30  |  66KB  |  991 lines

  1.  
  2.  
  3.  
  4.      XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV               XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           XXXXmmmmLLLLaaaabbbbeeeellll - The Label widget class
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           #include <Xm/Label.h>
  13.  
  14.      VVVVEEEERRRRSSSSIIIIOOOONNNN
  15.           This page documents Motif 2.1.
  16.  
  17.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  18.           Label is an instantiable widget and is also used as a
  19.           superclass for other button widgets, such as PushButton and
  20.           ToggleButton. The Label widget does not accept any button or
  21.           key input, and the help callback is the only callback
  22.           defined. Label also receives enter and leave events.
  23.  
  24.           Label can contain either text or a pixmap. Label text is a
  25.           compound string. Refer to the _M_o_t_i_f _P_r_o_g_r_a_m_m_e_r'_s _G_u_i_d_efor
  26.           more information on compound strings.  The text can be
  27.           multilingual, multiline, and/or multifont. When a Label is
  28.           insensitive, its text is stippled, or the user-supplied
  29.           insensitive pixmap is displayed.
  30.  
  31.           Label supports both accelerators and mnemonics primarily for
  32.           use in Label subclass widgets that are contained in menus.
  33.           Mnemonics are available in a menu system when the button is
  34.           visible.  Accelerators in a menu system are accessible even
  35.           when the button is not visible.  The Label widget displays
  36.           the mnemonic by underlining the first matching character in
  37.           the text string.  The accelerator is displayed as a text
  38.           string adjacent to the label text or pixmap, depending on
  39.           the layout direction.
  40.  
  41.           Label consists of many margin fields surrounding the text or
  42.           pixmap.  These margin fields are resources that may be set
  43.           by the user, but Label subclasses and Manager parents also
  44.           modify some of these fields. They tend to modify the
  45.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnLLLLeeeefffftttt, XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnRRRRiiiigggghhhhtttt, XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnTTTToooopppp, and
  46.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnBBBBoooottttttttoooommmm resources and leave the XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnWWWWiiiiddddtttthhhh and
  47.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnHHHHeeeeiiiigggghhhhtttt resources as set by the application.
  48.  
  49.           Label takes into account XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTThhhhiiiicccckkkknnnneeeessssssss in determining
  50.           its layout but does not draw the shadow. That is, if
  51.           XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTThhhhiiiicccckkkknnnneeeessssssssis greater than 0 (zero), Label leaves
  52.           space for the shadow, but the shadow does not appear.
  53.  
  54.           In a Label, XXXXmmmmNNNNttttrrrraaaavvvveeeerrrrssssaaaallllOOOOnnnn and XXXXmmmmNNNNhhhhiiiigggghhhhlllliiiigggghhhhttttOOOOnnnnEEEEnnnntttteeeerrrr are
  55.           forced to False inside Popup menu panes, Pulldown menu
  56.           panes, and OptionMenus.  Otherwise, these resources default
  57.           to False.
  58.  
  59.           Label uses the _X_m_Q_T_m_e_n_u_S_y_s_t_e_m and
  60.  
  61.  
  62.  
  63.      Page 1                                         (printed 10/24/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV               XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))
  71.  
  72.  
  73.  
  74.           _X_m_Q_T_s_p_e_c_i_f_y_R_e_n_d_e_r_T_a_b_l_etraits, and holds the
  75.           _X_m_Q_T_a_c_c_e_s_s_T_e_x_t_u_a_l, _X_m_Q_T_m_e_n_u_S_a_v_v_y, and _X_m_Q_T_t_r_a_n_s_f_e_r traits.
  76.  
  77.         DDDDaaaattttaaaa TTTTrrrraaaannnnssssffffeeeerrrr BBBBeeeehhhhaaaavvvviiiioooorrrr
  78.           Label and it subclasses, except when used in a menu system,
  79.           support dragging of the label contents from the Label.
  80.           However, the label contents are draggable only if the
  81.           XXXXmmmmNNNNeeeennnnaaaabbbblllleeeeUUUUnnnnsssseeeelllleeeeccccttttaaaabbbblllleeeeDDDDrrrraaaagggg resource of XXXXmmmmDDDDiiiissssppppllllaaaayyyyis set to
  82.           True.
  83.  
  84.           As a source of data, Label and its subclasses support the
  85.           following targets and associated conversions of data to
  86.           these targets:
  87.  
  88.           _l_o_c_a_l_e    If the _l_o_c_a_l_e target matches the widget's locale,
  89.                     the widget transfers XXXXmmmmNNNNllllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg in the
  90.                     encoding of the locale.  This target is supported
  91.                     only when XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG.
  92.  
  93.           _C_O_M_P_O_U_N_D__T_E_X_T
  94.                     The widget transfers XXXXmmmmNNNNllllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg as type
  95.                     _C_O_M_P_O_U_N_D__T_E_X_T.  This target is supported only when
  96.                     XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG.
  97.  
  98.           _P_I_X_M_A_P    The widget transfers XXXXmmmmNNNNllllaaaabbbbeeeellllPPPPiiiixxxxmmmmaaaapppp as type
  99.                     _D_R_A_W_A_B_L_E.  This target is supported only when
  100.                     XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP.
  101.  
  102.           _S_T_R_I_N_G    The widget transfers XXXXmmmmNNNNllllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg as type
  103.                     _S_T_R_I_N_G.  This target is supported only when
  104.                     XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG.
  105.  
  106.           _T_E_X_T      If XXXXmmmmNNNNllllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg is fully convertible to the
  107.                     encoding of the locale, the widget transfers
  108.                     XXXXmmmmNNNNllllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg in the encoding of the locale.
  109.                     Otherwise, the widget transfers XXXXmmmmNNNNllllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg as
  110.                     type _C_O_M_P_O_U_N_D__T_E_X_T.  This target is supported only
  111.                     when XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG.
  112.  
  113.           ____MMMMOOOOTTTTIIIIFFFF____CCCCLLLLIIIIPPPPBBBBOOOOAAAARRRRDDDD____TTTTAAAARRRRGGGGEEEETTTTSSSS
  114.                     The widget transfers, as type _A_T_O_M, a list of the
  115.                     targets it supports for the _C_L_I_P_B_O_A_R_D selection.
  116.                     When XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG, these include the
  117.                     following targets:
  118.  
  119.                        +o  ____MMMMOOOOTTTTIIIIFFFF____CCCCOOOOMMMMPPPPOOOOUUUUNNNNDDDD____SSSSTTTTRRRRIIIINNNNGGGG
  120.  
  121.                        +o  _C_O_M_P_O_U_N_D__T_E_X_T
  122.  
  123.                        +o  The encoding of the locale, if
  124.                           XXXXmmmmNNNNllllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg is fully convertible to the
  125.                           encoding of the locale
  126.  
  127.  
  128.  
  129.      Page 2                                         (printed 10/24/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV               XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))
  137.  
  138.  
  139.  
  140.                        +o  _S_T_R_I_N_G, if XXXXmmmmNNNNllllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg is fully
  141.                           convertible to _S_T_R_I_N_G
  142.  
  143.                     When XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP, the targets include
  144.                     _P_I_X_M_A_P.
  145.  
  146.           ____MMMMOOOOTTTTIIIIFFFF____CCCCOOOOMMMMPPPPOOOOUUUUNNNNDDDD____SSSSTTTTRRRRIIIINNNNGGGG
  147.                     The widget transfers XXXXmmmmNNNNllllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg as a compound
  148.                     string in Byte Stream format.  This target is
  149.                     supported only when XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG.
  150.  
  151.           ____MMMMOOOOTTTTIIIIFFFF____EEEEXXXXPPPPOOOORRRRTTTT____TTTTAAAARRRRGGGGEEEETTTTSSSS
  152.                     The widget transfers, as type _A_T_O_M, a list of the
  153.                     targets to be used as the value of the
  154.                     DragContext's XXXXmmmmNNNNeeeexxxxppppoooorrrrttttTTTTaaaarrrrggggeeeettttssss in a drag-and-drop
  155.                     transfer.  When XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG, these
  156.                     include ____MMMMOOOOTTTTIIIIFFFF____CCCCOOOOMMMMPPPPOOOOUUUUNNNNDDDD____SSSSTTTTRRRRIIIINNNNGGGG, _C_O_M_P_O_U_N_D__T_E_X_T, the
  157.                     encoding of the locale, _S_T_R_I_N_G, _T_E_X_T, _B_A_C_K_G_R_O_U_N_D,
  158.                     and _F_O_R_E_G_R_O_U_N_D.  When XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP,
  159.                     these include _P_I_X_M_A_P, _B_A_C_K_G_R_O_U_N_D, and _F_O_R_E_G_R_O_U_N_D.
  160.  
  161.           As a source of data, Label also supports the following
  162.           standard Motif targets:
  163.  
  164.           _B_A_C_K_G_R_O_U_N_D
  165.                     The widget transfers XXXXmmmmNNNNbbbbaaaacccckkkkggggrrrroooouuuunnnndddd as type _P_I_X_E_L.
  166.  
  167.           _C_L_A_S_S     The widget finds the first shell in the widget
  168.                     hierarchy that has a WWWWMMMM____CCCCLLLLAAAASSSSSSSS property and
  169.                     transfers the contents as text in the current
  170.                     locale.
  171.  
  172.           _C_L_I_E_N_T__W_I_N_D_O_W
  173.                     The widget finds the first shell in the widget
  174.                     hierarchy and transfers its window as type _W_I_N_D_O_W.
  175.  
  176.           _C_O_L_O_R_M_A_P  The widget transfers XXXXmmmmNNNNccccoooolllloooorrrrmmmmaaaapppp as type _C_O_L_O_R_M_A_P.
  177.  
  178.           _F_O_R_E_G_R_O_U_N_D
  179.                     The widget transfers XXXXmmmmNNNNffffoooorrrreeeeggggrrrroooouuuunnnndddd as type _P_I_X_E_L.
  180.  
  181.           _N_A_M_E      The widget finds the first shell in the widget
  182.                     hierarchy that has a WWWWMMMM____NNNNAAAAMMMMEEEE property and
  183.                     transfers the contents as text in the current
  184.                     locale.
  185.  
  186.           _T_A_R_G_E_T_S   The widget transfers, as type _A_T_O_M, a list of the
  187.                     targets it supports.  These include the standard
  188.                     targets in this list.  When XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is
  189.                     XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG, these also include
  190.                     ____MMMMOOOOTTTTIIIIFFFF____CCCCOOOOMMMMPPPPOOOOUUUUNNNNDDDD____SSSSTTTTRRRRIIIINNNNGGGG, _C_O_M_P_O_U_N_D__T_E_X_T, the
  191.                     encoding of the locale, _S_T_R_I_N_G, and _T_E_X_T.  When
  192.  
  193.  
  194.  
  195.      Page 3                                         (printed 10/24/98)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV               XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))
  203.  
  204.  
  205.  
  206.                     XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP, these also include
  207.                     _P_I_X_M_A_P.
  208.  
  209.           _T_I_M_E_S_T_A_M_P The widget transfers the timestamp used to acquire
  210.                     the selection as type _I_N_T_E_G_E_R.
  211.  
  212.           ____MMMMOOOOTTTTIIIIFFFF____RRRREEEENNNNDDDDEEEERRRR____TTTTAAAABBBBLLLLEEEE
  213.                     The widget transfers XXXXmmmmNNNNrrrreeeennnnddddeeeerrrrTTTTaaaabbbblllleeee if it exists,
  214.                     or else the default text render table, as type
  215.                     _S_T_R_I_N_G.
  216.  
  217.           ____MMMMOOOOTTTTIIIIFFFF____EEEENNNNCCCCOOOODDDDIIIINNNNGGGG____RRRREEEEGGGGIIIISSSSTTTTRRRRYYYY
  218.                     The widget transfers its encoding registry as type
  219.                     _S_T_R_I_N_G.  The value is a list of NULL separated
  220.                     items in the form of tag encoding pairs.  This
  221.                     target symbolizes the transfer target for the
  222.                     Motif Segment Encoding Registry.  Widgets and
  223.                     applications can use this Registry to register
  224.                     text encoding formats for specified render table
  225.                     tags.  Applications access this Registry by
  226.                     calling XXXXmmmmRRRReeeeggggiiiisssstttteeeerrrrSSSSeeeeggggmmmmeeeennnnttttEEEEnnnnccccooooddddiiiinnnngggg and
  227.                     XXXXmmmmMMMMaaaappppSSSSeeeeggggmmmmeeeennnnttttEEEEnnnnccccooooddddiiiinnnngggg.
  228.  
  229.         CCCCllllaaaasssssssseeeessss
  230.           Label inherits behavior, resources, and traits from CCCCoooorrrreeee and
  231.           XXXXmmmmPPPPrrrriiiimmmmiiiittttiiiivvvveeee.
  232.  
  233.           The class pointer is _x_m_L_a_b_e_l_W_i_d_g_e_t_C_l_a_s_s.
  234.  
  235.           The class name is XXXXmmmmLLLLaaaabbbbeeeellll.
  236.  
  237.         NNNNeeeewwww RRRReeeessssoooouuuurrrrcccceeeessss
  238.           The following table defines a set of widget resources used
  239.           by the programmer to specify data. The programmer can also
  240.           set the resource values for the inherited classes to set
  241.           attributes for this widget. To reference a resource by name
  242.           or by class in a ....XXXXddddeeeeffffaaaauuuullllttttssss file, remove the XXXXmmmmNNNN or XXXXmmmmCCCC
  243.           prefix and use the remaining letters. To specify one of the
  244.           defined values for a resource in a ....XXXXddddeeeeffffaaaauuuullllttttssss file, remove
  245.           the XXXXmmmm prefix and use the remaining letters (in either
  246.           lowercase or uppercase, but include any underscores between
  247.           words).  The codes in the access column indicate if the
  248.           given resource can be set at creation time (C), set by using
  249.           XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss (S), retrieved by using XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss (G), or is
  250.           not applicable (N/A).
  251.  
  252.                                                      XXXXmmmmLLLLaaaabbbbeeeellll RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  253.           NNNNaaaammmmeeee                        CCCCllllaaaassssssss                       TTTTyyyyppppeeee                DDDDeeeeffffaaaauuuulllltttt                  AAAAcccccccceeeessssssss
  254.           XmNaccelerator              XmCAccelerator              String              NULL                     CSG
  255.           XmNacceleratorText          XmCAcceleratorText          XmString            NULL                     CSG
  256.  
  257.  
  258.  
  259.  
  260.  
  261.      Page 4                                         (printed 10/24/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV               XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))
  269.  
  270.  
  271.  
  272.           XmNalignment                XmCAlignment                unsigned char       dynamic                  CSG
  273.           XmNfontList                 XmCFontList                 XmFontList          dynamic                  CSG
  274.           XmNlabelInsensitivePixmap   XmCLabelInsensitivePixmap   Pixmap              XmUNSPECIFIED_PIXMAP     CSG
  275.           XmNlabelPixmap              XmCLabelPixmap              Pixmap              XmUNSPECIFIED_PIXMAP     CSG
  276.           XmNlabelString              XmCXmString                 XmString            dynamic                  CSG
  277.           XmNlabelType                XmCLabelType                unsigned char       XmSTRING                 CSG
  278.           XmNmarginBottom             XmCMarginBottom             Dimension           0                        CSG
  279.           XmNmarginHeight             XmCMarginHeight             Dimension           2                        CSG
  280.           XmNmarginLeft               XmCMarginLeft               Dimension           0                        CSG
  281.           XmNmarginRight              XmCMarginRight              Dimension           0                        CSG
  282.           XmNmarginTop                XmCMarginTop                Dimension           0                        CSG
  283.           XmNmarginWidth              XmCMarginWidth              Dimension           2                        CSG
  284.           XmNmnemonic                 XmCMnemonic                 KeySym              NULL                     CSG
  285.           XmNmnemonicCharSet          XmCMnemonicCharSet          String              XmFONTLIST_DEFAULT_TAG   CSG
  286.           XmNrecomputeSize            XmCRecomputeSize            Boolean             True                     CSG
  287.           XmNrenderTable              XmCRenderTable              XmRenderTable       dynamic                  CSG
  288.           XmNstringDirection          XmCStringDirection          XmStringDirection   dynamic                  CSG
  289.  
  290.           XXXXmmmmNNNNaaaacccccccceeeelllleeeerrrraaaattttoooorrrr
  291.                     Sets the accelerator on a button widget in a menu,
  292.                     which activates a visible or invisible, but
  293.                     managed, button from the keyboard.  This resource
  294.                     is a string that describes a set of modifiers and
  295.                     the key that may be used to select the button.
  296.                     The format of this string is identical to that
  297.                     used by the translations manager, with the
  298.                     exception that only a single event may be
  299.                     specified and only KKKKeeeeyyyyPPPPrrrreeeessssssss events are allowed.
  300.  
  301.                     Accelerators for buttons are supported only for
  302.                     PushButtons and ToggleButtons in Pulldown and
  303.                     Popup menu panes.
  304.  
  305.           XXXXmmmmNNNNaaaacccccccceeeelllleeeerrrraaaattttoooorrrrTTTTeeeexxxxtttt
  306.                     Specifies the text displayed for the accelerator.
  307.                     The text is displayed adjacent to the label string
  308.                     or pixmap. The direction of its layout depends on
  309.                     the XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn resource of the widget.
  310.                     Accelerator text for buttons is displayed only for
  311.                     PushButtons and ToggleButtons in Pulldown and
  312.                     Popup Menus.
  313.  
  314.           XXXXmmmmNNNNaaaalllliiiiggggnnnnmmmmeeeennnntttt
  315.                     Specifies the label alignment for text or pixmap.
  316.  
  317.                     XXXXmmmmAAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT____BBBBEEEEGGGGIIIINNNNNNNNIIIINNNNGGGG (left alignment)
  318.                               Causes the left sides of the lines of
  319.                               text to be vertically aligned with the
  320.                               left edge of the widget window. For a
  321.                               pixmap, its left side is vertically
  322.                               aligned with the left edge of the widget
  323.                               window.
  324.  
  325.  
  326.  
  327.      Page 5                                         (printed 10/24/98)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV               XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))
  335.  
  336.  
  337.  
  338.                     XXXXmmmmAAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT____CCCCEEEENNNNTTTTEEEERRRR (center alignment)
  339.                               Causes the centers of the lines of text
  340.                               to be vertically aligned in the center
  341.                               of the widget window. For a pixmap, its
  342.                               center is vertically aligned with the
  343.                               center of the widget window.
  344.  
  345.                     XXXXmmmmAAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT____EEEENNNNDDDD (right alignment)
  346.                               Causes the right sides of the lines of
  347.                               text to be vertically aligned with the
  348.                               right edge of the widget window. For a
  349.                               pixmap, its right side is vertically
  350.                               aligned with the right edge of the
  351.                               widget window.
  352.  
  353.                     The preceding descriptions for text are correct
  354.                     when XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn is XXXXmmmmLLLLEEEEFFFFTTTT____TTTTOOOO____RRRRIIIIGGGGHHHHTTTT. When
  355.                     that resource is XXXXmmmmRRRRIIIIGGGGHHHHTTTT____TTTTOOOO____LLLLEEEEFFFFTTTT, the descriptions
  356.                     for XXXXmmmmAAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT____BBBBEEEEGGGGIIIINNNNNNNNIIIINNNNGGGG and XXXXmmmmAAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT____EEEENNNNDDDD are
  357.                     switched.
  358.  
  359.                     If the parent is a RowColumn whose XXXXmmmmNNNNiiiissssAAAAlllliiiiggggnnnneeeedddd
  360.                     resource is True, XXXXmmmmNNNNaaaalllliiiiggggnnnnmmmmeeeennnntttt is forced to the
  361.                     same value as the RowColumn's XXXXmmmmNNNNeeeennnnttttrrrryyyyAAAAlllliiiiggggnnnnmmmmeeeennnntttt if
  362.                     the RowColumn's XXXXmmmmNNNNrrrroooowwwwCCCCoooolllluuuummmmnnnnTTTTyyyyppppeeee is XXXXmmmmWWWWOOOORRRRKKKK____AAAARRRREEEEAAAA or
  363.                     if the widget is a subclass of XmLabel.
  364.                     Otherwise, the default is XXXXmmmmAAAALLLLIIIIGGGGNNNNMMMMEEEENNNNTTTT____CCCCEEEENNNNTTTTEEEERRRR.
  365.  
  366.           XXXXmmmmNNNNffffoooonnnnttttLLLLiiiisssstttt
  367.                     Specifies the font of the text used in the widget.
  368.                     XXXXmmmmNNNNffffoooonnnnttttLLLLiiiissssttttis obsolete and exists for
  369.                     compatibility with previous releases. You should
  370.                     now use XXXXmmmmNNNNrrrreeeennnnddddeeeerrrrTTTTaaaabbbblllleeee instead of XXXXmmmmNNNNffffoooonnnnttttLLLLiiiisssstttt. If
  371.                     both are specified, the render table will take
  372.                     precedence. If XXXXmmmmNNNNffffoooonnnnttttLLLLiiiisssstttt is NULL at
  373.                     initialization, Label searches its parent
  374.                     hierarchy for an ancestor that is a subclass of
  375.                     the XmBulletinBoard, VendorShell, or XmMenuShell
  376.                     widget class. If such an ancestor is found, Label
  377.                     initializes XXXXmmmmNNNNffffoooonnnnttttLLLLiiiisssstttt to the XXXXmmmmNNNNllllaaaabbbbeeeellllFFFFoooonnnnttttLLLLiiiisssstttt of
  378.                     the ancestor widget. Similarly, button subclasses
  379.                     of Label initialize XXXXmmmmNNNNffffoooonnnnttttLLLLiiiisssstttt to the
  380.                     XXXXmmmmNNNNbbbbuuuuttttttttoooonnnnFFFFoooonnnnttttLLLLiiiisssstttt of the ancestor widget.
  381.                     (Currently, all subclasses of Label are button
  382.                     subclasses.) If no such ancestor is found, the
  383.                     default is implementation dependent. Refer to
  384.                     XXXXmmmmFFFFoooonnnnttttLLLLiiiisssstttt(3) for more information on the creation
  385.                     and structure of a font list.
  386.  
  387.           XXXXmmmmNNNNllllaaaabbbbeeeellllIIIInnnnsssseeeennnnssssiiiittttiiiivvvveeeePPPPiiiixxxxmmmmaaaapppp
  388.                     Specifies a pixmap used as the button face if
  389.                     XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP and the button is
  390.  
  391.  
  392.  
  393.      Page 6                                         (printed 10/24/98)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV               XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))
  401.  
  402.  
  403.  
  404.                     insensitive.  The default value,
  405.                     XXXXmmmmUUUUNNNNSSSSPPPPEEEECCCCIIIIFFFFIIIIEEEEDDDD____PPPPIIIIXXXXMMMMAAAAPPPP, displays an empty label.
  406.  
  407.           XXXXmmmmNNNNllllaaaabbbbeeeellllPPPPiiiixxxxmmmmaaaapppp
  408.                     Specifies the pixmap when XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is
  409.                     XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP.  The default value,
  410.                     XXXXmmmmUUUUNNNNSSSSPPPPEEEECCCCIIIIFFFFIIIIEEEEDDDD____PPPPIIIIXXXXMMMMAAAAPPPP, displays an empty label.
  411.  
  412.           XXXXmmmmNNNNllllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg
  413.                     Specifies the compound string when XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is
  414.                     XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG.  If this value is NULL, it is
  415.                     initialized by converting the name of the widget
  416.                     to a compound string.  Refer to XXXXmmmmSSSSttttrrrriiiinnnngggg(3) for
  417.                     more information on the creation and structure of
  418.                     compound strings.
  419.  
  420.           XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee
  421.                     Specifies the label type.
  422.  
  423.                     XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG  Displays text using XXXXmmmmNNNNllllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg.
  424.  
  425.                     XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP  Displays pixmap using XXXXmmmmNNNNllllaaaabbbbeeeellllPPPPiiiixxxxmmmmaaaapppp or
  426.                               XXXXmmmmNNNNllllaaaabbbbeeeellllIIIInnnnsssseeeennnnssssiiiittttiiiivvvveeeePPPPiiiixxxxmmmmaaaapppp.
  427.  
  428.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnBBBBoooottttttttoooommmm
  429.                     Specifies the amount of spacing between the bottom
  430.                     of the label text and the top of the bottom margin
  431.                     specified by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnHHHHeeeeiiiigggghhhhtttt.  This may be
  432.                     modified by Label's subclasses. For example,
  433.                     CascadeButton may increase this field to make room
  434.                     for the cascade pixmap.
  435.  
  436.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnHHHHeeeeiiiigggghhhhtttt
  437.                     Specifies an equal amount of spacing above the
  438.                     margin defined by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnTTTToooopppp and below the
  439.                     margin defined by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnBBBBoooottttttttoooommmm. XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnHHHHeeeeiiiigggghhhhtttt
  440.                     specifies the amount of spacing between the top
  441.                     edge of the margin set by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnTTTTooooppppand the
  442.                     bottom edge of the top shadow, and the amount of
  443.                     spacing between the bottom edge of the margin
  444.                     specified by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnBBBBoooottttttttoooommmm and the top edge of
  445.                     the bottom shadow.
  446.  
  447.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnLLLLeeeefffftttt
  448.                     Specifies the amount of spacing between the left
  449.                     edge of the label text and the right side of the
  450.                     left margin (specified by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnWWWWiiiiddddtttthhhh).  This
  451.                     may be modified by Label's subclasses. For
  452.                     example, ToggleButton may increase this field to
  453.                     make room for the toggle indicator and for spacing
  454.                     between the indicator and label.  Whether this
  455.                     actually applies to the left or right side of the
  456.  
  457.  
  458.  
  459.      Page 7                                         (printed 10/24/98)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV               XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))
  467.  
  468.  
  469.  
  470.                     label depends on the value of the
  471.                     XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn resource.
  472.  
  473.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnRRRRiiiigggghhhhtttt
  474.                     Specifies the amount of spacing between the right
  475.                     edge of the label text and the left side of the
  476.                     right margin (specified by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnWWWWiiiiddddtttthhhh).  This
  477.                     may be modified by Label's subclasses. For
  478.                     example, CascadeButton may increase this field to
  479.                     make room for the cascade pixmap.  Whether this
  480.                     actually applies to the left or right side of the
  481.                     label depends on the value of the
  482.                     XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn resource.
  483.  
  484.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnTTTToooopppp
  485.                     Specifies the amount of spacing between the top of
  486.                     the label text and the bottom of the top margin
  487.                     specified by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnHHHHeeeeiiiigggghhhhtttt.  This may be
  488.                     modified by Label's subclasses. For example,
  489.                     CascadeButton may increase this field to make room
  490.                     for the cascade pixmap.
  491.  
  492.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnWWWWiiiiddddtttthhhh
  493.                     Specifies an equal amount of spacing to the left
  494.                     of the margin defined by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnLLLLeeeefffftttt and to the
  495.                     right of the margin defined by XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnRRRRiiiigggghhhhtttt.
  496.                     XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnWWWWiiiiddddtttthhhh specifies the amount of spacing
  497.                     between the left edge of the margin set by
  498.                     XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnLLLLeeeeffffttttand the right edge of the left
  499.                     shadow, and the amount of spacing between the
  500.                     right edge of the margin specified by
  501.                     XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnRRRRiiiigggghhhhtttt and the left edge of the right
  502.                     shadow.
  503.  
  504.           XXXXmmmmNNNNmmmmnnnneeeemmmmoooonnnniiiicccc
  505.                     Provides the user with an alternate means of
  506.                     activating a button.  A button in a MenuBar, a
  507.                     Popup menu pane, or a Pulldown menu pane can have
  508.                     a mnemonic.
  509.  
  510.                     This resource contains a keysym as listed in the
  511.                     X11 keysym table.  The first character in the
  512.                     label string that exactly matches the mnemonic in
  513.                     the character set specified in
  514.                     XXXXmmmmNNNNmmmmnnnneeeemmmmoooonnnniiiiccccCCCChhhhaaaarrrrSSSSeeeettttis underlined when the button is
  515.                     displayed.
  516.  
  517.                     When a mnemonic has been specified, the user
  518.                     activates the button by pressing the mnemonic key
  519.                     while the button is visible.  If the button is a
  520.                     CascadeButton in a MenuBar and the MenuBar does
  521.                     not have the focus, the user must use the MMMMAAAAlllltttt
  522.  
  523.  
  524.  
  525.      Page 8                                         (printed 10/24/98)
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV               XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))
  533.  
  534.  
  535.  
  536.                     modifier while pressing the mnemonic.  The user
  537.                     can activate the button by pressing either the
  538.                     shifted or the unshifted mnemonic key.
  539.  
  540.           XXXXmmmmNNNNmmmmnnnneeeemmmmoooonnnniiiiccccCCCChhhhaaaarrrrSSSSeeeetttt
  541.                     Specifies the character set of the mnemonic for
  542.                     the label.  The default is XXXXmmmmFFFFOOOONNNNTTTTLLLLIIIISSSSTTTT____DDDDEEEEFFFFAAAAUUUULLLLTTTT____TTTTAAAAGGGG.
  543.  
  544.           XXXXmmmmNNNNrrrreeeeccccoooommmmppppuuuutttteeeeSSSSiiiizzzzeeee
  545.                     Specifies a Boolean value that indicates whether
  546.                     the widget shrinks or expands to accommodate its
  547.                     contents (label string or pixmap) as a result of
  548.                     an XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss resource value that would change
  549.                     the size of the widget. If True, the widget
  550.                     shrinks or expands to exactly fit the label string
  551.                     or pixmap.  If False, the widget never attempts to
  552.                     change size on its own.
  553.  
  554.           XXXXmmmmNNNNrrrreeeennnnddddeeeerrrrTTTTaaaabbbblllleeee
  555.                     Specifies the render table associated with the
  556.                     llllaaaabbbbeeeellllSSSSttttrrrriiiinnnngggg. If this value is NULL at
  557.                     initialization, Label searches its parent
  558.                     hierarchy for an ancestor that holds the
  559.                     _X_m_Q_T_s_p_e_c_i_f_y_R_e_n_d_e_r_T_a_b_l_e trait.  If such an ancestor
  560.                     is found, Label initializes XXXXmmmmNNNNrrrreeeennnnddddeeeerrrrTTTTaaaabbbblllleeee to the
  561.                     XXXXmmmmLLLLAAAABBBBEEEELLLL____RRRREEEENNNNDDDDEEEERRRR____TTTTAAAABBBBLLLLEEEE value of the ancestor widget.
  562.                     Similarly, button subclasses of Label initialize
  563.                     XXXXmmmmNNNNrrrreeeennnnddddeeeerrrrTTTTaaaabbbblllleeee to the XXXXmmmmBBBBUUUUTTTTTTTTOOOONNNN____RRRREEEENNNNDDDDEEEERRRR____TTTTAAAABBBBLLLLEEEE value
  564.                     of the ancestor widget. (Note that all current
  565.                     subclasses of Label are button subclasses.) If no
  566.                     such ancestor is found, the default is
  567.                     implementation dependent. If a font list and a
  568.                     render table are both sepcified, the render table
  569.                     will take precedence. Refer to XXXXmmmmRRRReeeennnnddddeeeerrrrTTTTaaaabbbblllleeee(3)
  570.                     for more information on the creation and structure
  571.                     of a render table.
  572.  
  573.           XXXXmmmmNNNNssssttttrrrriiiinnnnggggDDDDiiiirrrreeeeccccttttiiiioooonnnn
  574.                     Is a synthetic resource for setting
  575.                     XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn.  The values for this resource
  576.                     are XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG____DDDDIIIIRRRREEEECCCCTTTTIIIIOOOONNNN____LLLL____TTTTOOOO____RRRR and
  577.                     XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG____DDDDIIIIRRRREEEECCCCTTTTIIIIOOOONNNN____RRRR____TTTTOOOO____LLLL. Refer to the
  578.                     XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn resource description. The
  579.                     XXXXmmmmNNNNssssttttrrrriiiinnnnggggDDDDiiiirrrreeeeccccttttiiiioooonnnn resource is obsoleted by
  580.                     XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn, but is kept here for backward
  581.                     compatibility.
  582.  
  583.         IIIInnnnhhhheeeerrrriiiitttteeeedddd RRRReeeessssoooouuuurrrrcccceeeessss
  584.           Label inherits behavior and resources from the following
  585.           superclasses. For a complete description of each resource,
  586.           refer to the reference page for that superclass.
  587.  
  588.  
  589.  
  590.  
  591.      Page 9                                         (printed 10/24/98)
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV               XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))
  599.  
  600.  
  601.  
  602.                                                XXXXmmmmPPPPrrrriiiimmmmiiiittttiiiivvvveeee RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  603.           NNNNaaaammmmeeee                      CCCCllllaaaassssssss                   TTTTyyyyppppeeee               DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  604.           XmNbottomShadowColor      XmCBottomShadowColor    Pixel              dynamic                CSG
  605.           XmNbottomShadowPixmap     XmCBottomShadowPixmap   Pixmap             XmUNSPECIFIED_PIXMAP   CSG
  606.           XmNconvertCallback        XmCCallback             XtCallbackList     NULL                   C
  607.           XmNforeground             XmCForeground           Pixel              dynamic                CSG
  608.           XmNhelpCallback           XmCCallback             XtCallbackList     NULL                   C
  609.           XmNhighlightColor         XmCHighlightColor       Pixel              dynamic                CSG
  610.           XmNhighlightOnEnter       XmCHighlightOnEnter     Boolean            False                  CSG
  611.           XmNhighlightPixmap        XmCHighlightPixmap      Pixmap             dynamic                CSG
  612.           XmNhighlightThickness     XmCHighlightThickness   Dimension          0                      CSG
  613.           XmNlayoutDirection        XmCLayoutDirection      XmDirection        dynamic                CG
  614.           XmNnavigationType         XmCNavigationType       XmNavigationType   XmNONE                 CSG
  615.           XmNpopupHandlerCallback   XmCCallback             XtCallbackList     NULL                   C
  616.           XmNshadowThickness        XmCShadowThickness      Dimension          0                      CSG
  617.           XmNtopShadowColor         XmCTopShadowColor       Pixel              dynamic                CSG
  618.           XmNtopShadowPixmap        XmCTopShadowPixmap      Pixmap             dynamic                CSG
  619.           XmNtraversalOn            XmCTraversalOn          Boolean            False                  CSG
  620.           XmNunitType               XmCUnitType             unsigned char      dynamic                CSG
  621.           XmNuserData               XmCUserData             XtPointer          NULL                   CSG
  622.  
  623.                                                         CCCCoooorrrreeee RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  624.           NNNNaaaammmmeeee                            CCCCllllaaaassssssss                           TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  625.           XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
  626.           XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
  627.           XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
  628.           XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
  629.           XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
  630.           XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
  631.           XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
  632.           XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
  633.           XmNdepth                        XmCDepth                        int              dynamic                CG
  634.           XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
  635.           XmNheight                       XmCHeight                       Dimension        dynamic                CSG
  636.           XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
  637.           XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
  638.           XmNscreen                       XmCScreen                       Screen *         dynamic                CG
  639.           XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
  640.           XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
  641.           XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
  642.           XmNx                            XmCPosition                     Position         0                      CSG
  643.           XmNy                            XmCPosition                     Position         0                      CSG
  644.  
  645.         TTTTrrrraaaannnnssssllllaaaattttiiiioooonnnnssss
  646.           XmLabel includes translations from Primitive.  The XmLabel
  647.           translations are described in the following list.
  648.  
  649.           The following key names are listed in the X standard key
  650.           event translation table syntax.  This format is the one used
  651.           by Motif to specify the widget actions corresponding to a
  652.           given key.  A brief overview of the format is provided under
  653.           VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss(3).  For a complete description of the
  654.  
  655.  
  656.  
  657.      Page 10                                        (printed 10/24/98)
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.      XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV               XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))
  665.  
  666.  
  667.  
  668.           format, please refer to the X Toolkit Instrinsics
  669.           Documentation.
  670.  
  671.           <<<<BBBBttttnnnn2222DDDDoooowwwwnnnn>>>>:
  672.                     ProcessDrag()
  673.  
  674.           ::::<<<<KKKKeeeeyyyy>>>><<<<oooossssffffHHHHeeeellllpppp>>>>:
  675.                     Help()
  676.  
  677.           The translations used by subclasses of XmLabel for menu
  678.           traversal are described in the following list.
  679.  
  680.           ::::<<<<KKKKeeeeyyyy>>>><<<<oooossssffffCCCCaaaannnncccceeeellll>>>>:
  681.                     MenuEscape()
  682.  
  683.           ::::<<<<KKKKeeeeyyyy>>>><<<<oooossssffffLLLLeeeefffftttt>>>>:
  684.                     MenuTraverseLeft()
  685.  
  686.           ::::<<<<KKKKeeeeyyyy>>>><<<<oooossssffffRRRRiiiigggghhhhtttt>>>>:
  687.                     MenuTraverseRight()
  688.  
  689.           ::::<<<<KKKKeeeeyyyy>>>><<<<oooossssffffUUUUpppp>>>>:
  690.                     MenuTraverseUp()
  691.  
  692.           ::::<<<<KKKKeeeeyyyy>>>><<<<oooossssffffDDDDoooowwwwnnnn>>>>:
  693.                     MenuTraverseDown()
  694.  
  695.         AAAAccccttttiiiioooonnnn RRRRoooouuuuttttiiiinnnneeeessss
  696.           The XXXXmmmmLLLLaaaabbbbeeeellll action routines are
  697.  
  698.           Help():   In a Popup or Pulldown MenuPane, unposts all menus
  699.                     in the menu hierarchy and, when the shell's
  700.                     keyboard focus policy is XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCIIIITTTT, restores
  701.                     keyboard focus to the widget that had the focus
  702.                     before the menu system was entered.  Calls the
  703.                     callbacks for XXXXmmmmNNNNhhhheeeellllppppCCCCaaaallllllllbbbbaaaacccckkkk if any exist.  If
  704.                     there are no help callbacks for this widget, this
  705.                     action calls the help callbacks for the nearest
  706.                     ancestor that has them.
  707.  
  708.           MenuEscape():
  709.                     In a MenuBar, disarms the CascadeButton and the
  710.                     menu and, when the shell's keyboard focus policy
  711.                     is XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCIIIITTTT, restores keyboard focus to the
  712.                     widget that had the focus before the menu was
  713.                     entered.
  714.  
  715.                     In a top-level Pulldown MenuPane from a MenuBar,
  716.                     unposts the menu, disarms the MenuBar
  717.                     CascadeButton and the MenuBar, and, when the
  718.                     shell's keyboard focus policy is XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCIIIITTTT,
  719.                     restores keyboard focus to the widget that had the
  720.  
  721.  
  722.  
  723.      Page 11                                        (printed 10/24/98)
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.      XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV               XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))
  731.  
  732.  
  733.  
  734.                     focus before the MenuBar was entered.  In other
  735.                     Pulldown MenuPanes, unposts the menu and moves the
  736.                     focus to its CascadeButton.
  737.  
  738.                     In a Popup MenuPane, unposts the menu and, when
  739.                     the shell's keyboard focus policy is XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCIIIITTTT,
  740.                     restores keyboard focus to the widget from which
  741.                     the menu was posted.
  742.  
  743.           MenuTraverseDown():
  744.                     If the current menu item has a submenu and is in a
  745.                     MenuBar, then this action posts the submenu,
  746.                     disarms the current menu item, and arms the
  747.                     submenu's first traversable menu item.
  748.  
  749.                     If the current menu item is in a MenuPane, then
  750.                     this action disarms the current menu item and arms
  751.                     the item below it. This action wraps within the
  752.                     MenuPane. The direction of the wrapping depends on
  753.                     the XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn resource.
  754.  
  755.           MenuTraverseLeft():
  756.                     When the current menu item is in a MenuBar, then
  757.                     this action disarms the current item and arms the
  758.                     MenuBar item to the left.  This action wraps
  759.                     within the MenuBar.
  760.  
  761.                     In MenuPanes, if the current menu item is not at
  762.                     the left edge of a MenuPane, this action disarms
  763.                     the current item and arms the item to its left.
  764.                     If the current menu item is at the left edge of a
  765.                     submenu attached to a MenuBar item, then this
  766.                     action unposts the submenu and traverses to the
  767.                     MenuBar item to the left, wrapping if necessary.
  768.                     If that MenuBar item has a submenu, it posts the
  769.                     submenu and arms the first traversable item in the
  770.                     submenu.  If the current menu item is at the left
  771.                     edge of a submenu not directly attached to a
  772.                     MenuBar item, then this action unposts the current
  773.                     submenu only.
  774.  
  775.                     In Popup or Torn-off MenuPanes, when the current
  776.                     menu item is at the left edge, this action wraps
  777.                     within the MenuPane. If the current menu item is
  778.                     at the left edge of the MenuPane and not in the
  779.                     top row, this action wraps to the rightmost menu
  780.                     item in the row above. If the current menu item is
  781.                     in the upper, leftmost corner, this action wraps
  782.                     to the tear-off control, if present, or else it
  783.                     wraps to the bottom, rightmost menu item in the
  784.                     MenuPane.  The preceding description applies when
  785.                     the XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn horizontal direction is
  786.  
  787.  
  788.  
  789.      Page 12                                        (printed 10/24/98)
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.      XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV               XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))
  797.  
  798.  
  799.  
  800.                     XXXXmmmmLLLLEEEEFFFFTTTT____TTTTOOOO____RRRRIIIIGGGGHHHHTTTT. If the XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn
  801.                     horizontal direction is XXXXmmmmRRRRIIIIGGGGHHHHTTTT____TTTTOOOO____LLLLEEEEFFFFTTTT, then the
  802.                     following applies.
  803.  
  804.                     If the current menu item is in a MenuBar, then
  805.                     this action disarms the current item and arms the
  806.                     MenuBar item to the left.  This action wraps
  807.                     within the MenuBar.
  808.  
  809.                     In MenuPanes, if the current menu item is a
  810.                     CascadeButton, then this action posts its
  811.                     associated submenu.  If the current menu item is
  812.                     not a CascadeButton and is not at the left edge of
  813.                     a MenuPane, this action disarms the current item
  814.                     and arms the item to its left, wrapping if
  815.                     necessary.  If the current menu item is not a
  816.                     CascadeButton and is at the left edge of a submenu
  817.                     that is a descendent of a MenuBar, then this
  818.                     action unposts all submenus and traverses to the
  819.                     MenuBar item to the left.  If that MenuBar item
  820.                     has a submenu, it posts the submenu and arms the
  821.                     submenu's first traversable item.
  822.  
  823.                     In Popup or Torn-off menus, if the current menu
  824.                     item is not a CascadeButton and is at the left
  825.                     edge of a row (except the bottom row), this action
  826.                     wraps to the rightmost menu item in the row below.
  827.                     If the current menu item is not a CascadeButton
  828.                     and is in the bottom, leftmost corner of a Popup
  829.                     or Pulldown MenuPane, this action wraps to the
  830.                     tear-off control, if present, or else it wraps to
  831.                     the top, rightmost menu item of the MenuPane.
  832.  
  833.           MenuTraverseRight():
  834.                     If the current menu item is in a MenuBar, then
  835.                     this action disarms the current item and arms the
  836.                     MenuBar item to the right.  This action wraps
  837.                     within the MenuBar.
  838.  
  839.                     In MenuPanes, if the current menu item is a
  840.                     CascadeButton, then this action posts its
  841.                     associated submenu.  If the current menu item is
  842.                     not a CascadeButton and is not at the right edge
  843.                     of a MenuPane, this action disarms the current
  844.                     item and arms the item to its right, wrapping if
  845.                     necessary.  If the current menu item is not a
  846.                     CascadeButton and is at the right edge of a
  847.                     submenu that is a descendent of a MenuBar, then
  848.                     this action unposts all submenus and traverses to
  849.                     the MenuBar item to the right.  If that MenuBar
  850.                     item has a submenu, it posts the submenu and arms
  851.                     the submenu's first traversable item.
  852.  
  853.  
  854.  
  855.      Page 13                                        (printed 10/24/98)
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.      XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV               XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))
  863.  
  864.  
  865.  
  866.                     In Popup or Torn-off menus, if the current menu
  867.                     item is not a CascadeButton and is at the right
  868.                     edge of a row (except the bottom row), this action
  869.                     wraps to the leftmost menu item in the row below.
  870.                     If the current menu item is not a CascadeButton
  871.                     and is in the bottom, rightmost corner of a Popup
  872.                     or Pulldown MenuPane, this action wraps to the
  873.                     tear-off control, if present, or else it wraps to
  874.                     the top, leftmost menu item of the MenuPane.  The
  875.                     preceding description applies when the
  876.                     XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn horizontal direction is
  877.                     XXXXmmmmLLLLEEEEFFFFTTTT____TTTTOOOO____RRRRIIIIGGGGHHHHTTTT. If the XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn
  878.                     horizontal direction is XXXXmmmmRRRRIIIIGGGGHHHHTTTT____TTTTOOOO____LLLLEEEEFFFFTTTT, then the
  879.                     following applies.  When the current menu item is
  880.                     in a MenuBar, then this action disarms the current
  881.                     item and arms the MenuBar item to the left.  This
  882.                     action wraps within the MenuBar.
  883.  
  884.                     In MenuPanes, if the current menu item is not at
  885.                     the right edge of a MenuPane, this action disarms
  886.                     the current item and arms the item to its right.
  887.                     If the current menu item is at the right edge of a
  888.                     submenu attached to a MenuBar item, then this
  889.                     action unposts the submenu and traverses to the
  890.                     MenuBar item to the right, wrapping if necessary.
  891.                     If that MenuBar item has a submenu, it posts the
  892.                     submenu and arms the first traversable item in the
  893.                     submenu.  If the current menu item is at the right
  894.                     edge of a submenu not directly attached to a
  895.                     MenuBar item, then this action unposts the current
  896.                     submenu only.
  897.  
  898.                     In Popup or Torn-off MenuPanes, when the current
  899.                     menu item is at the right edge, this action wraps
  900.                     within the MenuPane. If the current menu item is
  901.                     at the right edge of the MenuPane and not in the
  902.                     top row, this action wraps to the leftmost menu
  903.                     item in the row above. If the current menu item is
  904.                     in the upper, rightmost corner, this action wraps
  905.                     to the tear-off control, if present, or else it
  906.                     wraps to the bottom, leftmost menu item in the
  907.                     MenuPane.
  908.  
  909.           MenuTraverseUp():
  910.                     When the current menu item is in a MenuPane, then
  911.                     this action disarms the current menu item and arms
  912.                     the item above it.  This action wraps within the
  913.                     MenuPane. The direction of the wrapping depends on
  914.                     the XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn resource.
  915.  
  916.           ProcessDrag():
  917.                     Drags the contents of a Label, identified when
  918.  
  919.  
  920.  
  921.      Page 14                                        (printed 10/24/98)
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.      XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV               XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX))))
  929.  
  930.  
  931.  
  932.                     BBBBTTTTrrrraaaannnnssssffffeeeerrrr is pressed.  This action sets the
  933.                     XXXXmmmmNNNNccccoooonnnnvvvveeeerrrrttttPPPPrrrroooocccc of the DragContext to a function
  934.                     that calls the XXXXmmmmNNNNccccoooonnnnvvvveeeerrrrttttCCCCaaaallllllllbbbbaaaacccckkkk procedures,
  935.                     possibly multiple times, for the ____MMMMOOOOTTTTIIIIFFFF____DDDDRRRROOOOPPPP
  936.                     selection.  This action is undefined for Labels
  937.                     used in a menu system.
  938.  
  939.         VVVViiiirrrrttttuuuuaaaallll BBBBiiiinnnnddddiiiinnnnggggssss
  940.           The bindings for virtual keys are vendor specific.  For
  941.           information about bindings for virtual buttons and keys, see
  942.           VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss(3).
  943.  
  944.      RRRREEEELLLLAAAATTTTEEEEDDDD
  945.           CCCCoooorrrreeee(3), XXXXmmmmCCCCrrrreeeeaaaatttteeeeLLLLaaaabbbbeeeellll(3), XXXXmmmmFFFFoooonnnnttttLLLLiiiissssttttAAAAppppppppeeeennnnddddEEEEnnnnttttrrrryyyy(3),
  946.           XXXXmmmmSSSSttttrrrriiiinnnnggggCCCCrrrreeeeaaaatttteeee(3), XXXXmmmmSSSSttttrrrriiiinnnnggggCCCCrrrreeeeaaaatttteeeeLLLLttttooooRRRR(3), and
  947.           XXXXmmmmPPPPrrrriiiimmmmiiiittttiiiivvvveeee(3).
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.      Page 15                                        (printed 10/24/98)
  988.  
  989.  
  990.  
  991.